#ifndef _PATTERN_LIST_H
#define _PATTERN_LIST_H

#include <vector>
#include <string>
#include "Pattern.h"

using namespace std;

class CPatternList
{
public:
	static CPatternList * GetInstance();
	bool InitPatternListFromFile( string filename );
	bool InitPatternListFromSeq();

	~CPatternList();
private:
	CPatternList();

public:
	bool DoMatchRefPixelArray( unsigned char * ref_pixel_array, int frame, int x, int y );
	void Dump();
	void DumpForPatterns();


public:
	vector<CPattern*> * m_pvecPattern;
	vector<CPos> * m_pvecUnpattern;
	char m_caCoff[REF_PIXEL_NUMBER];

private:
	static CPatternList * m_pInstance;

};


#endif // _PATTERN_LIST_H
